home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / SAT 2.3.8 / Demos / HeartQuest demo ƒ / gameGlobals.p < prev    next >
Text File  |  1996-05-23  |  4KB  |  177 lines

  1. {=================================================}
  2. {========= GameGlobals, globals for HeartQuest ============}
  3. {=================================================}
  4.  
  5. { Example file for Ingemars Sprite Animation Toolkit. }
  6. { © Ingemar Ragnemalm 1992 }
  7. { See doc files for legal terms for using this code. }
  8.  
  9. { This file defines the resource numbers and global variables for HeartQuest.}
  10.  
  11. unit GameGlobals;
  12.  
  13. interface
  14.  
  15.     uses
  16. {$IFC UNDEFINED THINK_PASCAL}
  17.         Types, Quickdraw, Windows, Resources, Menus, ToolUtils, {}
  18.         TextUtils,
  19. {$ENDC}
  20.         SAT;
  21.  
  22.     const
  23. {    Resource numbers}
  24.  
  25.         fileMenuRes = 1002;        { File menu }
  26.         editMenuRes = 1003;    { Edit menu }
  27.         gameMenuRes = 1004;    { Race menu }
  28.         highMenuRes = 1005;    { Highscores menu }
  29.         aboutAlrt = 1000;        { About box }
  30.         helpenemiesAlrt = 1001;{ Pictures of the enemies }
  31.         theHighRes = 263;        { highscore window }
  32.         highDlog = 259;            { highscore name dialog box }
  33.  
  34. { File menu }
  35.  
  36.         helpenemies = 1;
  37.         quit = 3;
  38.  
  39. { Edit menu }
  40.         em_undo = 1;
  41.         em_cut = 3;
  42.         em_copy = 4;
  43.         em_paste = 5;
  44.  
  45. { Game menu }
  46.         run = 1;
  47.         sound = 3;
  48.         macho = 5;
  49.         allowBG = 7;
  50.         fastAnimation = 8;
  51.         pause = 10;
  52.         abort = 11;
  53.  
  54. { highscore menu }
  55.         showhs = 1;
  56.         clearhs = 3;
  57.  
  58.  
  59. { Game area size: }
  60.  
  61.         xsize = 512 - 440; {Use offSizeH-xsize!}
  62. {ysize = 320; {Full height - use offSizeV instead}
  63.  
  64. {Number of bonus objects to get a bonus level}
  65.         kBonusLevelTresh = 5;
  66.  
  67. { Preference file description - see further scores.p! }
  68.         kPrefsFileName = 'HeartQuest Prefs';
  69.         kPrefCreator = 'AHjD';
  70.         kPrefType = 'pref';
  71.  
  72.     type
  73. {    EventPtr = ^EventRecord;}
  74.  
  75.         str15 = string[15];
  76.  
  77.         featRec = record
  78.                 sound: boolean;
  79.                 allowBG: boolean;
  80.                 plotFast: boolean;
  81.                 macho: boolean;
  82.                 player: str15;
  83.             end;
  84.         featPtr = ^featRec;
  85.         featHnd = ^featPtr;
  86.  
  87. {Indexes for strings}
  88.     const
  89.         aboutStrID = 1;
  90.         anonymousStrID = 2;
  91.         cantfindsysStrID = 3;
  92.         resmissingStrID = 4;
  93.         creatingprefStrID = 5;
  94.         cantcreateresStrID = 6;
  95.         cantopenprefStrID = 7;
  96.         cantcreateprefStrID = 8;
  97.         normalStrID = 9;
  98.         machoStrID = 10;
  99.         scoreStrID = 11;
  100.         bonusStrID = 12;
  101.         levelStrID = 13;
  102.         sureStrID = 14;
  103.         nobodyStrID = 15;
  104.         startgameStrID = 16;
  105.         startlevelStrID = 17;
  106.         pauseStrID = 18;
  107.         resumeStrID = 19;
  108.         nopictStrID = 20;
  109.         noclutStrID = 21;
  110.         nooffscreenStrID = 22;
  111.         pleaseuncheckStrID = 23;
  112.         endStrID = 24;
  113.         okStrID = 25;
  114.         yesStrID = 26;
  115.         noStrID = 27;
  116.         quitStrID = 28;
  117.         memerrStrID = 29;
  118.         noscreenStrID = 30;
  119.         satnopictStrID = 31;
  120.         nowindStrID = 32;
  121.         startbonusStrID = 33;
  122.         loadingStrID = 34;
  123.  
  124.     var
  125.         theHigh: WindowPtr; { Window ptrs. }
  126.  
  127. {    Menu handles.  There isn't any apple menu here, since TransSkel will}
  128. {    be told to handle it itself.}
  129.  
  130.         features: featHnd;        { Settings record. }
  131.  
  132.         fileMenu, editMenu, GameMenu, highMenu: MenuHandle;
  133.  
  134. {      Dummy Boolean.  This may be used for Memory Management, if desired }
  135.         dummy: Boolean;
  136.  
  137.         slask: OSerr;
  138.  
  139.         level: longint;
  140.         bonus: longint;
  141.  
  142.         playerPos: point; { Position of player, to make it possible for monsters to aim }
  143.  
  144.         pauseFlag: boolean;
  145.  
  146. {New booleans for deciding when a level is completed, and whether there is a bonus object active or not.}
  147.         levelCompleted, bonusObjectRunning: Boolean;
  148.  
  149. {Variables for handling bonus levels. I havn't decided if gotAllBonuses should be used for anything.}
  150.         bonusLevelRunning, gotAllBonuses: Boolean;
  151.         bonusesCollected: integer;
  152.  
  153.         lastMacho: Boolean; {features^^.macho förra game over}
  154.         lastHigh: Integer; {Platsen för förra highscore}
  155.  
  156.         fadeTo: RGBColor;    {Global color for CLUT fading}
  157.  
  158.         gAppFile, gPrefFile: Integer;    {Resource files}
  159.  
  160.     function MyGetIndString (index: integer): Str255;
  161.  
  162. implementation
  163.  
  164. {I know, it's ugly to have a routine in the globals file, but this is needed just}
  165. {about everywhere, so the alternative was to make a new unit.}
  166.  
  167. {MyGetIndString returns a string that it gets from STR# 128 (hard-coded)}
  168. {by GetIndString.}
  169.     function MyGetIndString (index: integer): Str255;
  170.         var
  171.             str: Str255;
  172.     begin
  173.         GetIndString(str, 128, index);
  174.         MyGetIndString := str;
  175.     end;
  176.  
  177. end.